圖書內容
本書以Cortex-A8系列的S5PV210處理器為基礎,從ARM的基礎理論知識入手,以不同的外設為基準點講解了Cortex-A系列的強大功能,主要內容涵蓋ARM處理器概述、ARM彙編語言基礎、ARM中的C語言和彙編混合編程、GPIO接口、存儲器接口設計與套用、中斷系統原理與套用、串口通信原理與套用、ADC和觸控螢幕接口與套用、I2C接口與套用、系統時鐘與定時器、LCD接口設計與套用、IIS接口控制與套用、DMA接口與套用、NAND Flash控制接口與套用。
目 錄
第1章 ARM處理器概述 1
1.1 ARM處理器的套用領域和特點 1
1.1.1 ARM處理器的套用領域 1
1.1.2 ARM處理器的特點 3
1.2 主流的ARM處理器介紹 3
1.2.1 ARM體系結構的命名規則 4
1.2.2 ARM Cortex應用程式處理器 4
1.2.3 ARM Cortex嵌入式處理器 6
1.2.4 經典ARM處理器 9
1.2.5 ARM專家處理器 12
1.2.6 其他ARM處理器 13
1.3 S5PV210處理器簡介 14
1.3.1 AMBA、AHB、APB匯流排介紹 15
1.3.2 存儲器子系統 16
1.3.3 多媒體 17
1.3.4 時鐘和電源管理 19
本章小結 23
第2章 ARM彙編語言基礎 24
2.1 編程模型介紹 24
2.1.1 ARM處理器模式 24
2.1.2 ARM暫存器組介紹 25
2.2 ARM處理器定址方式 27
2.2.1 立即定址 27
2.2.2 暫存器定址 27
2.2.3 暫存器間接定址 27
2.2.4 暫存器偏移定址 28
2.2.5 基址變址定址 28
2.2.6 多暫存器定址 28
2.2.7 堆疊定址 29
2.3 ARM指令集 29
2.3.1 ARM指令的格式和分類 29
2.3.2 跳轉指令 31
2.3.3 數據處理指令 32
2.3.4 程式狀態暫存器傳輸指令 37
2.3.5 Load/Store指令 39
2.3.6 協處理器指令 40
2.3.7 異常中斷產生指令 42
2.4 Thumb指令集 43
2.4.1 Thumb指令集簡介 43
2.4.2 Thumb指令集和ARM指令集的區別 43
2.5 ARM偽指令 44
2.5.1 小範圍地址讀取——ADR偽指令 44
2.5.2 中等範圍地址讀取——ADRL偽指令 45
2.5.3 大範圍地址讀取——LDR偽指令 46
2.5.4 空操作——NOP偽指令 47
2.6 ARM彙編語言的偽操作和宏指令 48
2.6.1 符號定義偽操作 48
2.6.2 數據定義偽操作 50
2.6.3 彙編控制偽操作 52
2.6.4 雜項偽操作 54
2.6.5 GNU ARM彙編偽操作 58
2.7 ARM彙編實例 62
2.7.1 彙編語句格式 62
2.7.2 彙編語言的程式結構 63
2.7.3 程式實例 63
本章小結 65
第3章 ARM中的C語言和彙編混合編程 66
3.1 ATPCS介紹 66
3.1.1 暫存器的使用規則 66
3.1.2 數據棧使用規則 67
3.1.3 參數傳遞規則 68
3.2 內嵌彙編 69
3.2.1 內嵌彙編的語法格式 69
3.2.2 內嵌彙編指令的特點 69
3.2.3 內嵌彙編指令注意事項 71
3.2.4 內嵌彙編指令舉例 73
3.3 ARM中的彙編和C語言相互調用 74
3.3.1 從彙編程式中訪問C程式變數 74
3.3.2 C程式調用彙編程式 75
3.3.3 彙編程式調用C程式 76
本章小結 77
第4章 GPIO接口 78
4.1 GPIO概述 78
4.1.1 GPIO簡介 78
4.1.2 GPIO暫存器 79
4.1.3 IO操作的步驟 80
4.2 按鍵控制LED實例 80
4.2.1 硬體原理圖 80
4.2.2 實例測試 83
4.2.3 跑馬燈實例 84
本章小結 86
第5章 存儲器接口設計與套用 87
5.1 存儲器概述 87
5.1.1 存儲器分類 87
5.1.2 存儲器的層次結構 89
5.1.3 ARM存儲器系統 90
5.2 SDRAM記憶體管理 90
5.2.1 S5PV210地址空間 90
5.2.2 SDRAM工作原理 92
5.2.3 SDRAM存儲控制器的使用 95
5.3 SDRAM存儲器接口實例 95
5.3.1 SDRAM硬體接口電路 95
5.3.2 SDRAM控制器使用分析 97
5.3.3 程式設計及分析 99
5.3.4 實例測試 103
本章小結 103
第6章 中斷系統原理與套用 104
6.1 中斷的基本概念 104
6.1.1 中斷的基本概念和處理過程 104
6.1.2 中斷源、中斷信號和中斷向量 105
6.1.3 中斷優先權和中斷嵌套 106
6.1.4 中斷回響條件與中斷控制 106
6.2 S5PV210的中斷系統 107
6.2.1 S5PV210的中斷源 107
6.2.2 S5PV210的中斷控制 108
6.3 S5PV210中斷編寫實例 112
6.3.1 中斷控制程式編寫步驟 112
6.3.2 中斷實例 115
6.3.3 實例測試 123
本章小結 123
第7章 串口通信原理與套用 124
7.1 串口通信原理 124
7.1.1 串口通信的重要參數 124
7.1.2 串列通信接口 125
7.1.3 通用異步接收器和傳送器(UART) 126
7.2 S5PV210的UART功能暫存器 129
7.2.1 UART控制暫存器 129
7.2.2 UART 操作暫存器 132
7.3 UART通信實例(一) 133
7.3.1 查看電路連線圖 133
7.3.2 翻查數據手冊 134
7.3.3 確定關鍵定義 135
7.3.4 編寫程式 135
7.3.5 實例測試 141
7.4 UART通信實例(二) 141
本章小結 144
第8章 ADC和觸控螢幕接口與套用 145
8.1 ADC工作原理 145
8.2 觸控螢幕結構和工作原理 146
8.2.1 觸控螢幕的工作原理 147
8.2.2 觸控螢幕的主要類型 147
8.3 S5PV210中的觸控螢幕接口 150
8.3.1 ADC工作模式 151
8.3.2 觸控螢幕接口模式 152
8.4 硬體連線 153
8.5 ADC及觸控螢幕接口特殊暫存器 154
8.6 觸控螢幕控制實例 155
8.7 滑動變阻器控制實例 160
本章小結 164
第9章 I2C接口與套用 165
9.1 I2C匯流排協定 165
9.2 S5PV210的I2C匯流排控制器 166
9.2.1 S5PV210的I2C接口的主要特性 167
9.2.2 S5PV210的I2C匯流排接口 168
9.2.3 I/O描述 170
9.2.4 I2C匯流排控制相關暫存器 170
9.2.5 S5PV210的I2C匯流排操作方法 173
9.3 I2C匯流排套用實例 176
9.3.1 I2C接口和AT24C02的連線 176
9.3.2 讀寫AT24C02程式設計及分析 177
9.3.3 測試實例 179
本章小結 181
第10章 系統時鐘與定時器 182
10.1 S5PV210的時鐘體系 182
10.1.1 系統時鐘概述 182
10.1.2 時鐘聲明 183
10.1.3 時鐘的產生 185
10.1.4 每個子塊最大工作頻率 187
10.1.5 時鐘配置過程 187
10.1.6 系統時鐘相關暫存器 187
10.2 實時時鐘RTC 200
10.2.1 實時時鐘概述 200
10.2.2 實時時鐘操作 200
10.3 PWM定時器 201
10.3.1 PWM定時器概述 201
10.3.2 PWM定時器操作 202
10.3.3 PWM定時器特殊暫存器 206
10.4 WATCHDOG定時器 207
10.5 定時器使用實例 209
10.5.1 PWM編程實例 209
10.5.2 WATCHDOG編程實例 211
本章小結 213
第11章 LCD接口設計與套用 214
11.1 LCD介紹 214
11.2 S5PV210的LCD控制器介紹 217
11.2.1 S5PV210顯示控制器概述 217
11.2.2 顯示控制器的主鍵特性 218
11.2.3 顯示控制器的功能描述 219
11.2.4 數據流 219
11.2.5 接口 220
11.2.6 顏色數據概要 221
11.2.7 顏色空間轉換(CSC) 230
11.2.8 調色板的使用 232
11.2.9 視窗混合 233
11.2.10 圖像增強 238
11.2.11 VTIME控制器操作 240
11.2.12 設定的命令 242
11.2.13 虛擬顯示 244
11.2.14 RGB接口說明 244
11.2.15 LCD iNDIRECT i80系統接口 248
11.2.16 LCD控制器特殊功能暫存器 250
11.3 TFT LCD 顯示實例 254
11.3.1 硬體電路的連線 254
11.3.2 程式設計與分析 257
11.3.4 測試實例 262
本章小結 263
第12章 IIS接口控制與套用 264
12.1 數字音頻信號(IIS)介紹 264
12.2 S5PV210的IIS接口 266
12.2.1 傳送接收模式 266
12.2.2 音頻串列接口格式 267
12.2.3 IIS匯流排接口暫存器 269
12.3 S5PV210 IIS控制程式編寫實例 273
12.3.1 設備驅動程式簡介 273
12.3.2 IIS匯流排接口實例 273
本章小結 292
第13章 DMA接口與套用 293
13.1 DMA的基本概念 293
13.1.1 DMA系統組成 293
13.1.2 DMA工作原理 294
13.1.3 DMA傳輸方式 294
13.1.4 DMA傳輸特點 294
13.2 S5PV210的DMA控制器 295
13.2.1 S5PV210的DMA概述 295
13.2.2 DMA控制器的主要特性 295
13.2.3 S5PV210的DMA特殊暫存器 297
13.3 S5PV210 DMA控制編寫實例 298
13.3.1 DMA代碼分析 298
13.3.2 DMA測試實例 300
本章小結 301
第14章 NAND Flash控制接口與套用 302
14.1 NOR Flash和NAND Flash 302
14.1.1 Flash快閃記憶體 302
14.1.2 NOR和NAND的比較 303
14.2 NAND Flash的物理結構 305
14.3 S5PV210的NAND Flash控制器 309
14.3.1 NAND Flash控制器的特性 309
14.3.2 NAND Flash的模組圖 309
14.3.3 NAND Flash的引腳配置 309
14.3.4 NAND Flash存儲器配置 310
14.3.5 NAND Flash暫存器 310
14.4 NAND Flash操作實例 313
14.4.1 NAND Flash讀的步驟 313
14.4.2 NAND Flash寫的步驟 316
14.4.3 NAND Flash讀寫程式設計實例 316
14.4.4 測試實例 322
本章小結 324
參考文獻 325